package com.hqyj.lls.mapper;


import com.hqyj.lls.entity.MhSelect;
import com.hqyj.lls.entity.User;
import com.hqyj.lls.entity.UserVO;
import org.springframework.stereotype.Repository;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

import java.util.List;

@Repository
public interface UserMapper {
    //查所有
    List<User> selectAll();

    //查询逻辑删除后的用户
    List<User> selectDelUser(User user);

    //恢复逻辑删除后的用户
    Integer changeDel(User user);

    //模糊查询逻辑删除后的用户
    List<User> mhselectDelUser(User user);

    //模糊查询
    List<MhSelect> selectmh(MhSelect mhSelect);

    //根据用户名查用户id
    Integer selectUserId(String username);

    //添加
    Integer insret(User user);

    //修改
    Integer update(User user);

    /*逻辑删除*/
    Integer deleteUpdByUserId(Integer userId);

    //根据id删除
    Integer deleteByUserId(Integer userId);

    /* ################################角色表#################################3*/
    /*根据用户名查询所拥有的角色*/
    List<String> selectRolesByUsername(String username);

    /*根据用户id添加角色id admin*/
    Integer insertadminByuserId(Integer userId);

    Integer insertasimpleByuserId(Integer userId);
    /*根据用户id删除角色id*/
    Integer deleteRoleByuserId(Integer userId);

    /*################################权限表#################################3*/

    /*根据用户名查询所拥有的权限*/
    List<String> selectPermsByUsername(String username);


    /*根据用户名查询所拥有的用户信息和角色和权限*/
    //    List<User>
    List<UserVO> selectUserAllAndRolesByUsername(String username);
    /*登录*/
    User selectOneByUsername(String username);

    /* 批量恢复 */
    Integer changeDelUserAll(List<String> conUserId);

    /* 批量删除 */
    Integer delUserAll(List<String> conUserId);

    /*批量删除角色*/
    Integer delRoleAll(List<String> conUserId);


}
